package com.ztorn.fiscale.mapper;

import java.util.List;
import com.ztorn.fiscale.domain.FiscaleRefundBatch;

/**
 * 退税申报批次Mapper接口
 * 
 * @author ztorn
 * @date 2025-09-20
 */
public interface FiscaleRefundBatchMapper 
{
    /**
     * 查询退税申报批次
     * 
     * @param batchId 退税申报批次主键
     * @return 退税申报批次
     */
    public FiscaleRefundBatch selectFiscaleRefundBatchById(Long batchId);

    /**
     * 查询退税申报批次列表
     * 
     * @param fiscaleRefundBatch 退税申报批次
     * @return 退税申报批次集合
     */
    public List<FiscaleRefundBatch> selectFiscaleRefundBatchList(FiscaleRefundBatch fiscaleRefundBatch);

    /**
     * 新增退税申报批次
     * 
     * @param fiscaleRefundBatch 退税申报批次
     * @return 结果
     */
    public int insertFiscaleRefundBatch(FiscaleRefundBatch fiscaleRefundBatch);

    /**
     * 修改退税申报批次
     * 
     * @param fiscaleRefundBatch 退税申报批次
     * @return 结果
     */
    public int updateFiscaleRefundBatch(FiscaleRefundBatch fiscaleRefundBatch);

    /**
     * 删除退税申报批次
     * 
     * @param batchId 退税申报批次主键
     * @return 结果
     */
    public int deleteFiscaleRefundBatchById(Long batchId);

    /**
     * 批量删除退税申报批次
     * 
     * @param batchIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFiscaleRefundBatchByIds(Long[] batchIds);
    
    /**
     * 根据批次号查询退税申报批次
     * 
     * @param batchNo 批次号
     * @return 退税申报批次
     */
    public FiscaleRefundBatch selectFiscaleRefundBatchByBatchNo(String batchNo);
    
    /**
     * 根据状态查询退税申报批次列表
     * 
     * @param status 状态
     * @return 退税申报批次集合
     */
    public List<FiscaleRefundBatch> selectFiscaleRefundBatchListByStatus(String status);
}